<?php

class GoleadoresPartidoValidator extends sfValidatorBase
{
	
	protected function configure($options = array(), $messages = array()) {
		$this->addOption('goleadores');
		$this->addOption('resultado');
		

	}	
	
	protected function doClean($value)
	{

		$resultado = $value[$this->getOption('resultado')];
		$goles = $value[$this->getOption('goleadores')];
		if ($resultado)
		{
			$cant_goles = sizeof(explode(" ", $goles));
			if ($cant_goles != $resultado) {
					//$this->messages = array('invalid' => 'No correspondes los goleadores con el resultado'); 
					throw new sfValidatorError($this, 'invalid', array('value' => $value));
				
			}
		}
		else
		{
			if($goles) //Si no hay resultado, tampoco tiene que haber goles
			{
				throw new sfValidatorError($this, 'invalid', array('value' => $value));	
			}
		}
		return $value;
	}

}
?>